/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package framework.agendaFactory.lib;

/**
 *
 * @author Sergio Carlos Peres
 */
public class ToolBar extends javax.swing.JToolBar {
    
    private javax.swing.JButton btnAlterar;
    private javax.swing.JButton btnCancelar;
    private javax.swing.JButton btnExcluir;
    private javax.swing.JButton btnNovo;
    private javax.swing.JButton btnPesquisar;
    private javax.swing.JButton btnSalvar;
    private javax.swing.JComboBox cboPesquisar;
    private javax.swing.JToolBar.Separator jSeparator1;
    private javax.swing.JToolBar.Separator jSeparator2;
    private javax.swing.JToolBar.Separator jSeparator3;
    private javax.swing.JTextField txtPesquisar;
    
    
    private int gropoBotoes = 0;
    private String enderecoImagens = "/framework/imagens/botoes/";
    // localizar; novo registro; alterar registro; salvar registro; cancelar; excluir registro;
    private String[][] listaIcones = {
        {"localizar1.gif","novo1.png","alterar1.png","salvar1.png","cancelar1.png","excluir1.png"},
        {"localizar2.gif","novo2.gif","alterar2.gif","salvar2.gif","cancelar2.gif","excluir2.gif"},
        {"localizar3.png","novo3.png","alterar3.png","salvar3.png","cancelar3.png","excluir3.png"},
        {"localizar4.png","novo4.png","alterar4.png","salvar4.png","cancelar4.png","excluir4.png"},
        {"localizar5.png","novo5.png","alterar5.png","salvar5.png","cancelar5.png","excluir5.png"}
    };
    
    public ToolBar(java.awt.event.ActionListener listener) {
        this.criarBarra(listener);
    }
    
    private void criarBarra(java.awt.event.ActionListener listener) {
        int i = 0;
        // Inicialização
        btnAlterar = new javax.swing.JButton();
        btnCancelar = new javax.swing.JButton();
        btnExcluir = new javax.swing.JButton();
        btnPesquisar = new javax.swing.JButton();
        btnSalvar = new javax.swing.JButton();
        btnNovo = new javax.swing.JButton();
        cboPesquisar = new javax.swing.JComboBox();
        jSeparator1 = new javax.swing.JToolBar.Separator();
        jSeparator2 = new javax.swing.JToolBar.Separator();
        jSeparator3 = new javax.swing.JToolBar.Separator();
        txtPesquisar = new javax.swing.JTextField();
        
        // Alterando a fonte a ToolBar
        this.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
        this.setEnabled(false);

        // Personalizando caixa de texto Pesquisar
        txtPesquisar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtPesquisar.setToolTipText("Pesquisar");
        txtPesquisar.setMaximumSize(new java.awt.Dimension(200, 30));
        txtPesquisar.setMinimumSize(new java.awt.Dimension(200, 30));
        txtPesquisar.setPreferredSize(new java.awt.Dimension(200, 30));
        txtPesquisar.addActionListener(listener);
        txtPesquisar.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                txtPesquisar.selectAll();
            }
        });
        txtPesquisar.setName("txtPesquisar");
        // Adicionando caixa de texto Pesquisar
        this.add(txtPesquisar);

        // Personalizando botão Pesquisar
         // NOI18N
        btnPesquisar.setToolTipText("Ir");
        btnPesquisar.setFocusable(false);
        btnPesquisar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnPesquisar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnPesquisar.setPreferredSize(new java.awt.Dimension(35, 35));
        btnPesquisar.addActionListener(listener);
        btnPesquisar.setName("btnPesquisar");
        // Adicionando botão Pesquisar
        this.add(btnPesquisar);
        
        // Adicionando Separador
        this.add(jSeparator3);

        // Personalizando combobox Pesquisar
        cboPesquisar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        cboPesquisar.setModel(new javax.swing.DefaultComboBoxModel(new String[] { ":: Todos ::", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }));
        cboPesquisar.setToolTipText("Filtral por Inicial");
        cboPesquisar.setLightWeightPopupEnabled(false);
        cboPesquisar.setMaximumSize(new java.awt.Dimension(100, 30));
        cboPesquisar.setMinimumSize(new java.awt.Dimension(100, 30));
        cboPesquisar.setName("cboPesquisar"); // NOI18N
        cboPesquisar.setPreferredSize(new java.awt.Dimension(100, 30));
        cboPesquisar.addActionListener(listener);
        // Adicionando combobox Pesquisar
        this.add(cboPesquisar);
        
        // Adicionando Separador
        this.add(jSeparator1);

        // Personalizando botão Novo
         // NOI18N
        btnNovo.setToolTipText("Novo");
        btnNovo.setFocusable(false);
        btnNovo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnNovo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnNovo.setPreferredSize(new java.awt.Dimension(35, 35));
        btnNovo.addActionListener(listener);
        btnNovo.setName("btnNovo");
        // Adicionando botão Novo
        this.add(btnNovo);

        // Personalizando botão Adicionar
         // NOI18N
        btnAlterar.setToolTipText("Alterar");
        btnAlterar.setFocusable(false);
        btnAlterar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnAlterar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnAlterar.setPreferredSize(new java.awt.Dimension(35, 35));
        btnAlterar.addActionListener(listener);
        btnAlterar.setName("btnAlterar");
        // Adicionando botão Adicionar
        this.add(btnAlterar);

        // Personalizando botão Salvar
         // NOI18N
        btnSalvar.setToolTipText("Salvar");
        btnSalvar.setFocusable(false);
        btnSalvar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnSalvar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnSalvar.setPreferredSize(new java.awt.Dimension(35, 35));
        btnSalvar.addActionListener(listener);
        btnSalvar.setName("btnSalvar");
        // Adicionando botão Salvar
        this.add(btnSalvar);
        
        // Adicionando Separador
        this.add(jSeparator2);

        // Personalizando botão Canelar
         // NOI18N
        btnCancelar.setToolTipText("Cancelar");
        btnCancelar.setFocusable(false);
        btnCancelar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnCancelar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnCancelar.setPreferredSize(new java.awt.Dimension(35, 35));
        btnCancelar.addActionListener(listener);
        btnCancelar.setName("btnCancelar");
        // Adicionando botão Cancelar
        this.add(btnCancelar);

        // Personalizando botão Excluir
         // NOI18N
        btnExcluir.setToolTipText("Excluir");
        btnExcluir.setFocusable(false);
        btnExcluir.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnExcluir.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnExcluir.setPreferredSize(new java.awt.Dimension(35, 35));
        btnExcluir.addActionListener(listener);
        btnExcluir.setName("btnExcluir");
        // Adicionando botão Excluir
        this.add(btnExcluir);
        
        setIcones(gropoBotoes);
    }
    
    public void visibilidade(String visibilidade) {
        switch(visibilidade) {
            case "novo" :
                txtPesquisar.setEnabled(false);
                btnPesquisar.setEnabled(false);
                cboPesquisar.setEnabled(false);
                btnNovo.setEnabled(false);
                btnAlterar.setEnabled(false);
                btnSalvar.setEnabled(true);
                btnCancelar.setEnabled(true);
                btnExcluir.setEnabled(false);
                break;
            case "editar" :
                txtPesquisar.setEnabled(false);
                btnPesquisar.setEnabled(false);
                cboPesquisar.setEnabled(false);
                btnNovo.setEnabled(false);
                btnAlterar.setEnabled(false);
                btnSalvar.setEnabled(true);
                btnCancelar.setEnabled(true);
                btnExcluir.setEnabled(false);
                break;
                
            default:
                txtPesquisar.setEnabled(true);
                btnPesquisar.setEnabled(true);
                cboPesquisar.setEnabled(true);
                btnNovo.setEnabled(true);
                btnAlterar.setEnabled(true);
                btnSalvar.setEnabled(false);
                btnCancelar.setEnabled(false);
                btnExcluir.setEnabled(true);
                txtPesquisar.requestFocus();
                break;
        }
    }

    //<editor-fold defaultstate="collapsed" desc=" Metodos get ">
    public javax.swing.JComboBox getCboPesquisar() {
        return cboPesquisar;
    }
    
    public javax.swing.JTextField getTxtPesquisar() {
        return txtPesquisar;
    }
    
    //</editor-fold>
    
    public void setIcones(int grupoBotoes) {
        int i = 0;
        btnPesquisar.setIcon(new javax.swing.ImageIcon(getClass().getResource(enderecoImagens + listaIcones[grupoBotoes][i++])));
        btnNovo.setIcon(new javax.swing.ImageIcon(getClass().getResource(enderecoImagens + listaIcones[grupoBotoes][i++])));
        btnAlterar.setIcon(new javax.swing.ImageIcon(getClass().getResource(enderecoImagens + listaIcones[grupoBotoes][i++])));
        btnSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource(enderecoImagens + listaIcones[grupoBotoes][i++])));
        btnCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource(enderecoImagens + listaIcones[grupoBotoes][i++])));
        btnExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource(enderecoImagens + listaIcones[grupoBotoes][i])));
    }
}
